<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="org.apache.commons.fileupload.FileUploadBase.SizeLimitExceededException"%>
<%@page import="com.zpyr.common.UploadUtil"%>
<%@page import="com.zpyr.common.StringUtil"%>
<%@page import="java.util.HashMap"%>
<%@page import="java.util.Iterator"%>
<%@page import="java.util.List"%>
<%@page import="org.apache.commons.fileupload.servlet.ServletFileUpload"%>
<%@page import="org.apache.commons.fileupload.disk.DiskFileItemFactory"%>
<%@page import="java.util.Map"%>
<%@page import="java.io.File"%>
<%@page import="java.util.ArrayList"%>
<%
	String path = "/home/hosting_users/ocpek2/carcenter/upload";  // 파일 디렉토리명
	
	int maxMemorySize = 64 * 1024;				// 한번에 메모리에 저장할 사이즈
	long maxRequestSize = 1L * 1024 * 60;		// 최대 업로드 사이즈 60KB
	String tempDirectory = path + "/temp/";		// TEMP 디렉토리
	String saveDirectory = path + "/images/";	// 실제 저장될 경로
	// temp 디렉토리가 존재하지 않으면 생성
	File tempDir = new File(tempDirectory);
	if (!tempDir.exists()) {
		tempDir.mkdirs();
	}
	
	try {
		
		DiskFileItemFactory factory = new DiskFileItemFactory();
		factory.setSizeThreshold(maxMemorySize);			// 한번에 메모리에 저장할 사이즈 설정
		factory.setRepository(new File(tempDirectory));		// TEMP 디렉토리 경로	
		
		ServletFileUpload upload = new ServletFileUpload(factory);	// file upload handler
		upload.setSizeMax(maxRequestSize);
		upload.setHeaderEncoding(request.getCharacterEncoding());
		// 업로드 환경 셋팅.
		
		List items = upload.parseRequest(request);
		
		Iterator iter = items.iterator();
		Map param = null;
		param = (HashMap) UploadUtil.getMapFromMulti(iter);
		
		String file_name = "";
		
		String file_ext = StringUtil.nvl((String) param.get("file1"));
		file_ext = StringUtil.getFileExtension(file_ext);
		
		// 실제로 파일을 업로드 하고, 업로드 된 리스트를 가져온다.(fileList)
		
		ArrayList fileList = (ArrayList)UploadUtil.saveFiles(saveDirectory, items);
		
		if(fileList == null || fileList.size() == 0) {
			
		}
		else {
			file_name = saveDirectory + (String)((Map)fileList.get(0)).get("file1");
			System.out.println("file_name : " + file_name);
		}
		
	}
	catch(SizeLimitExceededException e) {
%>
		<script>
			alert('60KB 이상 크기 의 파일은 올릴 수 없습니다.');
		</script>
<%
		return;
	}
	catch(Exception e) {
		e.printStackTrace();
	}
%>